package MAIN;

import com.sun.org.apache.xpath.internal.XPathAPI;

import java.util.Arrays;
import java.util.HashSet;
import java.util.Scanner;
import java.util.Set;
import java.util.concurrent.SynchronousQueue;

//笔试强训第37天
/*选择题*/
/*网络上传输的数据五元组：源IP，目的IP，源端口，目的端口，协议*/
/*源端口和目的端口的地址是不能相同的*/
/*网段地址154.27.0.0，如果不做子网划分，能支持65534台主机，首先这个地址是B类IP地址，就有16位主机号
* 不做子网划分，除了154.27.0.0（网段号）和全1(154.27.255.255(广播号))，可以支持65534台主机*/
/*SNMP，SMTP，FTP（文件传输协议）都是属于网络层的协议*/
/*http状态码：502：表示作为网关或者代理工作的服务器尝试执行请求时，从上游服务器接收到无效的响应*/
/*304：表示客户端在请求一个文件的时候，发现自己缓存的文件中有这个文件，*/
//编程题
public class Main37 {
    //mkdir
    public static void main1(String[] args) {
        //1.按照字典序进行排序（使用Arrays.sort()方法即可）
        Scanner scan = new Scanner(System.in);
        while (scan.hasNext()) {
            int n = scan.nextInt();
            String[] path = new String[n];
            for (int i = 0; i < path.length; i++) {
                path[i] = scan.next();
            }
            Arrays.sort(path);//按照字典序的方式对String 数组进行升序排序
            //对目录进行过滤：相同目录 || 子目录
            //对数组中需要删除的目录进行伪删除
            boolean[] flag = new boolean[n];
            for (int i = 0; i < path.length - 1; i++) {
                //相同目录
                if (path[i].equals(path[i+1])) {
                    flag[i] = true;//true就代表这个下标的目录需要进行删除
                }else if (path[i].length() < path[i+1].length() &&
                        path[i+1].contains(path[i]) &&
                                path[i+1].charAt(path[i].length()) == '/') {
                    flag[i] = true;
                }
            }
            //拼接要输出的结果
            for (int i = 0; i < n; i++) {
                if (!flag[i]) {
                    System.out.println("mkdir -p " + path[i]);
                }
            }
            System.out.println();
        }
    }

    //数据库连接池
    //思路: 用Set，逐个获取每个请求，如果是连接，就将该请求
    //对应的id放入Set中，如果是断开连接就将该ID从Set中删除，最终记录Set中保存元素个数的最大值即可
    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        while (scan.hasNext()) {
            int n = scan.nextInt();
            String id, op;
            Set<String> s = new HashSet<>();
            int maxCon = 0;
            for (int i = 0; i < n; i++) {
                id = scan.next();
                op = scan.next();

                if (op.equals("connect")) {
                    s.add(id);
                }else {
                    s.remove(id);
                }
                maxCon = Math.max(maxCon, s.size());
            }
            System.out.println(maxCon);
        }
    }
}
